home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / hd_installers / whdigames / whdigamesj-m / whdigamesj-m.lzh / Legend.lha / Legend / Install < prev    next >
Text File  |  1998-06-04  |  4KB  |  186 lines

  1. ;****************************
  2.  
  3. (set #sub-dir "")        ;sub directory containing data files
  4. (set #readme-file "README")    ;name of readme file
  5. (set #cleanup "%s/c/legend" #dest)        ;files to delete after install
  6.  
  7. ;****************************
  8.  
  9. ;----------------------------
  10. ; Checks if given program is reachable via the path
  11. ; if not abort install
  12. ; IN:  #program - to check
  13. ; OUT: -
  14.  
  15. (procedure P_chkrun
  16.   (if
  17.     (= 0 (run ("cd SYS:\nWhich %s" #program)))
  18.     ("")
  19.     (abort ("You must install \"%s\" first !\nIt must be accessible via the path.\nYou can find it in the whdload package." #program))
  20.   )
  21. )
  22.  
  23. ;----------------------------
  24. ; Wait for inserting disk
  25. ; IN:  #AD_disk - name of disk
  26. ; OUT: -
  27.  
  28. (procedure P_disk
  29.   (askdisk
  30.     (dest " ")
  31.     (prompt ("\nInsert \"%s\" in any drive !\n\nPlease insert disks one at a time!" #AD_disk))
  32.     (help #insertdisk-help)
  33.   )
  34.   (P_chkdsk)
  35. )
  36.  
  37. (set #insertdisk-help
  38. (cat "The two Legend-disks are named the same. "
  39.      "Therefore you might confuse this script if you "
  40.      "insert both at once.\n\n"
  41.      "So, please insert the disks one at a time.\n\n"
  42.      @askoptions-help
  43. )
  44. )
  45.  
  46. (procedure P_chkdsk
  47.   (if
  48.     (= 0 (run ("which \"%s\"" #program)))
  49.     ("")
  50.     ((message ("\nPlease remove the disk currently inserted,\n\nthen insert the \"%s\"." #AD_disk))
  51.      (P_disk))
  52.   )
  53. )
  54.  
  55. ;****************************
  56.  
  57. (set #program "WHDLoad")
  58. (P_chkrun)
  59.  
  60. ;(set #program "Reloc")
  61. ;(P_chkrun)
  62.  
  63. (set @default-dest
  64.   (askdir
  65.     (prompt ("Where should \"%s\" be installed ?\nA drawer \"%s\" will automatically be created." @app-name @app-name))
  66.     (help @askdir-help)
  67.     (default @default-dest)
  68.     (disk)
  69.   )
  70. )
  71. (set #dest (tackon @default-dest @app-name))
  72. (if
  73.   (exists #dest)
  74.   (
  75.     (set #choice
  76.       (askbool
  77.         (prompt ("\nDirectory \"%s\" already exists.\n Should it be deleted ?" #dest))
  78.         (default 1)
  79.         (choices "Delete" "Skip")
  80.         (help @askbool-help)
  81.       )
  82.     )
  83.     (if
  84.       (= #choice 1)
  85.       (run ("Delete \"%s\" \"%s.info\" All" #dest #dest))
  86.     )
  87.   )
  88. )
  89. (makedir #dest
  90.   (help @makedir-help)
  91.   (infos)
  92. )
  93.  
  94. ;----------------------------
  95.  
  96. (copyfiles
  97.   (help @copyfiles-help)
  98.   (source ("legend.slave"))
  99.   (dest #dest)
  100. )
  101. (copyfiles
  102.   (help @copyfiles-help)
  103.   (source ("Legend.inf"))
  104.   (newname ("Legend.info"))
  105.   (dest #dest)
  106. )
  107. (copyfiles
  108.   (help @copyfiles-help)
  109.   (source ("getlegendsavedisk.slave"))
  110.   (dest #dest)
  111. )
  112. (copyfiles
  113.   (help @copyfiles-help)
  114.   (source ("Install_Savedisk"))
  115.   (dest #dest)
  116. )
  117. (copyfiles
  118.   (help @copyfiles-help)
  119.   (source ("Install_savedisk.inf"))
  120.   (newname ("Install_Savedisk.info"))
  121.   (dest #dest)
  122. )
  123. (if
  124.   (exists #readme-file)
  125.   (copyfiles
  126.     (help @copyfiles-help)
  127.     (source #readme-file)
  128.     (dest #dest)
  129.   )
  130. )
  131. (if
  132.   (= #sub-dir "")
  133.   ("")
  134.   (
  135.     (set #dest (tackon #dest #sub-dir))
  136.     (makedir #dest
  137.       (help @makedir-help)
  138.     )
  139.   )
  140. )
  141.  
  142. ;----------------------------
  143.  
  144. (set #AD_disk "Legend Boot Disk")
  145. (set #program " :C/LEGEND")
  146. (P_disk)
  147. (copyfiles
  148.   (help @copyfiles-help)
  149.   (source (" :"))
  150.   (dest #dest)
  151.   (pattern "~(s)")
  152. )
  153.  
  154. (if
  155.   (= 0 (run "Reloc" (tackon #dest "c/legend") (tackon #dest "c/legend.10000") "ADR=$10000" "QUIET" ">con://///WAIT/CLOSE/AUTO"))
  156.   ("")
  157.   (abort "\"Reloc\" has failed")
  158. )
  159.  
  160. (set #AD_disk "Legend World Disk")
  161. (set #program " :SPIT/M00.PAC")
  162. (P_disk)
  163. (copyfiles
  164.   (help @copyfiles-help)
  165.   (source (" :"))
  166.   (dest #dest)
  167.   (pattern "#?")
  168. )
  169.  
  170.  
  171. ;----------------------------
  172.  
  173. (run ("delete %s ALL QUIET FORCE" #cleanup))
  174.  
  175. (if
  176.   (exists #readme-file)
  177.   (if 
  178.     (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  179.     ("")
  180.     (run ("SYS:Utilities/More %s" #readme-file))
  181.   )
  182. )
  183.  
  184.  
  185. (exit)
  186.